CC = g++
CFLAGS = -Wall -Wextra
LDFLAGS = -lpthread

SRCS = main.cpp
HDRS = TaskQueue.hpp ThreadPool.hpp
OBJS = $(SRCS:.cpp=.o)

TARGET = main

all: $(TARGET) clean

$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) $(OBJS) -o $@ $(LDFLAGS)

%.o: %.cpp $(HDRS)
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f $(OBJS)